package com.baizhi.controller;


import com.baizhi.service.AppCategoryService;
import com.baizhi.validations.AddGroups;
import com.baizhi.vo.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.validation.constraints.NotEmpty;

/**
 * @Validated 开启当前类的参数校验
 * 配合当个参数校验使用  直接将注解加在Controller方法的形参
 *
 * @Api 定义整个类的作用
 */
@Api("获取手机端分类数据")
@Validated
@RestController
@RequestMapping("app/category")
public class AppCategoryController {
    @Autowired
    private AppCategoryService appCategoryService;

    /**
     * @ApiOperation 定义当前接口的作用
     */
    @ApiOperation("根据一级分类id获取分类数据")
    @GetMapping("/getCategoryById/{categoryId}")
    public R getCategoryById(@PathVariable("categoryId") Long categoryId){
        return appCategoryService.getCategoryById(categoryId);
    }

    /**
     * BindingResult 获取参数的校验信息
     *
     * 参数校验失败的 code 10086
     */
//    @PostMapping("addUserInfo")
//    public R addUserInfo(@Validated(AddGroups.class) User user){
//        return R.ok();
//   }

    /**
     * 在方法的形参上通过 添加JSR303的注解进行参数校验
     * @NotEmpty 非空
     */
    @PostMapping("addUsernameInfo")
    public R addUsernameInfo(@NotEmpty String username){
        System.out.println(username);
        return R.ok();
    }
}
